package edu.hut.bookshop.service;

import com.alipay.api.AlipayApiException;
import edu.hut.bookshop.pojo.Pay;

import java.util.Date;
import java.util.List;

public interface PayService {

    /**
     * 根据订单编号生成支付订单
     * @param
     * @return
     */
    Integer insertPay(int orderId);

    /**
     * 根据订单查询支付订单
     * @param orderId
     * @return
     */
    Pay findByorderId(int orderId);

    /**
     * 根据用户id查询用户的支付订单
     * @param userId
     * @return
     */
    List<Pay> findByuserId(int userId, Integer page, Integer limit);


    /**
     * 支付宝支付接口
     * @param pay
     * @return
     * @throws AlipayApiException
     */
    String Alipay(Pay pay)throws AlipayApiException;

    /**
     * 根据支付记录编号查询订单
     * @param sn
     * @return
     */
    Pay findBysn(String sn);

    /**
     * 根据支付平台交易号查询订单
     * @param paysn
     * @return
     */
    Pay findBypaysn(String paysn);

    /**
     * 添加/编辑，当id不为空是进行编辑操作
     * @param pay
     * @return
     */
    Pay save(Pay pay);

    /**
     * 修改pay
     * @param sn
     * @param paysn
     * @param pstatus
     * @param payTime
     * @return
     */
    int updatePay(String sn, String paysn, Integer pstatus, Date payTime);
}
